package com.example.blog.service;

import java.util.List;
import java.util.Map;

import org.springframework.web.multipart.MultipartFile;

import com.example.blog.entity.Image;

public interface ImageService {
    /**
     * 上传图片
     */
    Map<String, Object> uploadImage(MultipartFile file, Integer userId);
    
    /**
     * 获取图片信息
     */
    Image getImageById(Integer imageId);
    
    /**
     * 通过图片名称获取图片
     */
    Image getImageByName(String imageName);
    
    /**
     * 获取用户的所有图片
     */
    List<Image> getImagesByUserId(Integer userId);
    
    /**
     * 获取用户未删除的图片
     */
    List<Image> getNotDeletedImagesByUserId(Integer userId);
    
    /**
     * 获取用户头像（最早上传的图片）
     */
    Image getUserAvatar(Integer userId);
    
    /**
     * 标记图片为删除状态
     */
    boolean markImageAsDeleted(Integer imageId);
    
    /**
     * 物理删除图片
     */
    boolean deleteImage(Integer imageId);
} 